package com.budwk.app.waterquality.models;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author ZY.Wang
 * @since 2023/7/17
 */
@Data
@Accessors(chain = true)
@Table("waterquality.wk_water_quality_indicator")
@Comment("水质指标表")
@ApiModel(description = "水质指标表")
public class WaterQualityIndicator extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    @PrevInsert(els = {@EL("snowflake()")}, nullEffective = true)
    private String id;

    @Column("name")
    @Comment("表名")
    @ApiModelProperty(description = "表名")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String name;

    @Column("upload_name")
    @Comment("上传人")
    @ApiModelProperty(description = "上传人")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String uploadName;

    @Column("fill_date")
    @Comment("填表日期")
    @ApiModelProperty(description = "填表日期")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private LocalDateTime fillDate;

    @Column("LGTD")
    @Comment("经度")
    @ApiModelProperty(description = "经度")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String LGTD;

    @Column("LTTD")
    @Comment("纬度")
    @ApiModelProperty(description = "纬度")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String LTTD;

    @Column("template_id")
    @Comment("模板id")
    @ApiModelProperty(description = "模板id")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String templateId;

    @Column("water_quality_data")
    @Comment("水质指标基础详细数据")
    @ApiModelProperty(description = "水质指标基础详细数据（WaterQualityVo 对象参数）")
    @ColDefine(type = ColType.TEXT)
    private String waterQualityData;

    @Column("remark")
    @Comment("备注")
    @ApiModelProperty(description = "备注")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String remark;
}
